package com.teamall.web.family.db.arg;

import java.util.*;
import java.math.*;
import org.apache.commons.lang.*;

public class FamilyVisitedLogArg {
    private String pk_name = "VISITED_LOG_ID";

    private String orderByClause;

    private String groupByClause;

    private String columns;

    private String countsql1;

    private String countsql2;

    private boolean distinct;

    private int rowStart = 0;

    private int rowEnd = 10;

    private List<FamilyVisitedLogCriteria> oredCriteria;

    public FamilyVisitedLogArg() {
        oredCriteria = new ArrayList<FamilyVisitedLogCriteria>();
    }

    public void setPk_name(String pk_name) {
        this.pk_name = StringEscapeUtils.escapeSql(pk_name);
    }

    public String getPk_name() {
        return pk_name;
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = StringEscapeUtils.escapeSql(orderByClause);
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setGroupByClause(String groupByClause) {
        this.groupByClause = StringEscapeUtils.escapeSql(groupByClause);
    }

    public String geGroupByClause() {
        return groupByClause;
    }

    public void setColumns(String columns) {
        this.columns = StringEscapeUtils.escapeSql(columns);
    }

    public String geColumns() {
        return columns;
    }

    public void setCountsql1(String countsql1) {
        this.countsql1 = StringEscapeUtils.escapeSql(countsql1);
    }

    public String geCountsql1() {
        return countsql1;
    }

    public void setCountsql2(String countsql2) {
        this.countsql2 = StringEscapeUtils.escapeSql(countsql2);
    }

    public String geCountsql2() {
        return countsql2;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public void setRowStart(int rowStart) {
        this.rowStart = rowStart;
    }

    public void setRowEnd(int rowEnd) {
        this.rowEnd = rowEnd;
    }

    public int getRowStart() {
        return rowStart;
    }

    public int getRowEnd() {
        return rowEnd;
    }

    public List<FamilyVisitedLogCriteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(FamilyVisitedLogCriteria criteria) {
        oredCriteria.add(criteria);
    }

    public FamilyVisitedLogCriteria or() {
    	FamilyVisitedLogCriteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public FamilyVisitedLogCriteria createCriteria() {
    	FamilyVisitedLogCriteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected FamilyVisitedLogCriteria createCriteriaInternal() {
    	FamilyVisitedLogCriteria criteria = new FamilyVisitedLogCriteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        groupByClause = null;
        columns = null;
        countsql1 = null;
        countsql2 = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<FamilyVisitedLogCriterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<FamilyVisitedLogCriterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<FamilyVisitedLogCriterion> getAllCriteria() {
            return criteria;
        }

        public List<FamilyVisitedLogCriterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new FamilyVisitedLogCriterion(condition));
        }

        protected void addCriterion(String condition, Object value,
                String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property
                        + " cannot be null");
            }
            criteria.add(new FamilyVisitedLogCriterion(condition, value));
        }

        protected void addCriterion(String condition, Object value,
                String property, int likeType) {
            if (value == null) {
                throw new RuntimeException("Value for " + property
                        + " cannot be null");
            }
            criteria.add(new FamilyVisitedLogCriterion(condition, value, likeType));
        }

        protected void addCriterion(String condition, Object value1,
                Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property
                        + " cannot be null");
            }
            criteria.add(new FamilyVisitedLogCriterion(condition, value1, value2));
        }

        public FamilyVisitedLogCriteria andCriterionEqualTo(String criterion) {
            if (StringUtils.isBlank(criterion)) {
                criterion = "1=1";
            }
            addCriterion(criterion);
            return (FamilyVisitedLogCriteria) this;
        }
        public FamilyVisitedLogCriteria andVisitedLogIdIsNull() {
            addCriterion("VISITED_LOG_ID is null");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedLogIdIsNotNull() {
            addCriterion("VISITED_LOG_ID is not null");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedLogIdEqualTo(Integer value) {
            addCriterion("VISITED_LOG_ID =", value, "VISITED_LOG_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedLogIdNotEqualTo(Integer value) {
            addCriterion("VISITED_LOG_ID <>", value, "VISITED_LOG_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedLogIdGreaterThan(Integer value) {
            addCriterion("VISITED_LOG_ID >", value, "VISITED_LOG_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedLogIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("VISITED_LOG_ID >=", value, "VISITED_LOG_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedLogIdLessThan(Integer value) {
            addCriterion("VISITED_LOG_ID <", value, "VISITED_LOG_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedLogIdLessThanOrEqualTo(Integer value) {
            addCriterion("VISITED_LOG_ID <=", value, "VISITED_LOG_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedLogIdLike(Integer value) {
            addCriterion("VISITED_LOG_ID like ", value, "VISITED_LOG_ID", 1);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedLogIdNotLike(Integer value) {
            addCriterion("VISITED_LOG_ID  not like ", value, "VISITED_LOG_ID", 1);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedLogIdLeftLike(Integer value) {
            addCriterion("VISITED_LOG_ID like ", value, "VISITED_LOG_ID", 0);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedLogIdNotLeftLike(Integer value) {
            addCriterion("VISITED_LOG_ID  not like ", value, "VISITED_LOG_ID", 0);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedLogIdRightLike(Integer value) {
            addCriterion("VISITED_LOG_ID like ", value, "VISITED_LOG_ID", 2);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedLogIdNotRightLike(Integer value) {
            addCriterion("VISITED_LOG_ID  not like ", value, "VISITED_LOG_ID", 2);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedLogIdIn(List<Integer> values) {
            addCriterion("VISITED_LOG_ID  in ", values, "VISITED_LOG_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedLogIdNotIn(List<Integer> values) {
            addCriterion("VISITED_LOG_ID not in ", values, "VISITED_LOG_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedLogIdBetween(Integer value1, Integer value2) {
            addCriterion("VISITED_LOG_ID between ", value1, value2, "VISITED_LOG_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedLogIdNotBetween(Integer value1, Integer value2) {
            addCriterion("VISITED_LOG_ID not between ", value1, value2, "VISITED_LOG_ID");
            return (FamilyVisitedLogCriteria) this;
        }
        public FamilyVisitedLogCriteria andFamilyIdIsNull() {
            addCriterion("FAMILY_ID is null");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andFamilyIdIsNotNull() {
            addCriterion("FAMILY_ID is not null");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andFamilyIdEqualTo(Integer value) {
            addCriterion("FAMILY_ID =", value, "FAMILY_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andFamilyIdNotEqualTo(Integer value) {
            addCriterion("FAMILY_ID <>", value, "FAMILY_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andFamilyIdGreaterThan(Integer value) {
            addCriterion("FAMILY_ID >", value, "FAMILY_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andFamilyIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("FAMILY_ID >=", value, "FAMILY_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andFamilyIdLessThan(Integer value) {
            addCriterion("FAMILY_ID <", value, "FAMILY_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andFamilyIdLessThanOrEqualTo(Integer value) {
            addCriterion("FAMILY_ID <=", value, "FAMILY_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andFamilyIdLike(Integer value) {
            addCriterion("FAMILY_ID like ", value, "FAMILY_ID", 1);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andFamilyIdNotLike(Integer value) {
            addCriterion("FAMILY_ID  not like ", value, "FAMILY_ID", 1);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andFamilyIdLeftLike(Integer value) {
            addCriterion("FAMILY_ID like ", value, "FAMILY_ID", 0);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andFamilyIdNotLeftLike(Integer value) {
            addCriterion("FAMILY_ID  not like ", value, "FAMILY_ID", 0);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andFamilyIdRightLike(Integer value) {
            addCriterion("FAMILY_ID like ", value, "FAMILY_ID", 2);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andFamilyIdNotRightLike(Integer value) {
            addCriterion("FAMILY_ID  not like ", value, "FAMILY_ID", 2);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andFamilyIdIn(List<Integer> values) {
            addCriterion("FAMILY_ID  in ", values, "FAMILY_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andFamilyIdNotIn(List<Integer> values) {
            addCriterion("FAMILY_ID not in ", values, "FAMILY_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andFamilyIdBetween(Integer value1, Integer value2) {
            addCriterion("FAMILY_ID between ", value1, value2, "FAMILY_ID");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andFamilyIdNotBetween(Integer value1, Integer value2) {
            addCriterion("FAMILY_ID not between ", value1, value2, "FAMILY_ID");
            return (FamilyVisitedLogCriteria) this;
        }
        public FamilyVisitedLogCriteria andVisitedDateIsNull() {
            addCriterion("VISITED_DATE is null");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedDateIsNotNull() {
            addCriterion("VISITED_DATE is not null");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedDateEqualTo(Date value) {
            addCriterion("VISITED_DATE =", value, "VISITED_DATE");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedDateNotEqualTo(Date value) {
            addCriterion("VISITED_DATE <>", value, "VISITED_DATE");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedDateGreaterThan(Date value) {
            addCriterion("VISITED_DATE >", value, "VISITED_DATE");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedDateGreaterThanOrEqualTo(Date value) {
            addCriterion("VISITED_DATE >=", value, "VISITED_DATE");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedDateLessThan(Date value) {
            addCriterion("VISITED_DATE <", value, "VISITED_DATE");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedDateLessThanOrEqualTo(Date value) {
            addCriterion("VISITED_DATE <=", value, "VISITED_DATE");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedDateLike(Date value) {
            addCriterion("VISITED_DATE like ", value, "VISITED_DATE", 1);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedDateNotLike(Date value) {
            addCriterion("VISITED_DATE  not like ", value, "VISITED_DATE", 1);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedDateLeftLike(Date value) {
            addCriterion("VISITED_DATE like ", value, "VISITED_DATE", 0);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedDateNotLeftLike(Date value) {
            addCriterion("VISITED_DATE  not like ", value, "VISITED_DATE", 0);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedDateRightLike(Date value) {
            addCriterion("VISITED_DATE like ", value, "VISITED_DATE", 2);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedDateNotRightLike(Date value) {
            addCriterion("VISITED_DATE  not like ", value, "VISITED_DATE", 2);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedDateIn(List<Date> values) {
            addCriterion("VISITED_DATE  in ", values, "VISITED_DATE");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedDateNotIn(List<Date> values) {
            addCriterion("VISITED_DATE not in ", values, "VISITED_DATE");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedDateBetween(Date value1, Date value2) {
            addCriterion("VISITED_DATE between ", value1, value2, "VISITED_DATE");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andVisitedDateNotBetween(Date value1, Date value2) {
            addCriterion("VISITED_DATE not between ", value1, value2, "VISITED_DATE");
            return (FamilyVisitedLogCriteria) this;
        }
        public FamilyVisitedLogCriteria andContentIsNull() {
            addCriterion("CONTENT is null");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andContentIsNotNull() {
            addCriterion("CONTENT is not null");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andContentEqualTo(String value) {
            addCriterion("CONTENT =", value, "CONTENT");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andContentNotEqualTo(String value) {
            addCriterion("CONTENT <>", value, "CONTENT");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andContentGreaterThan(String value) {
            addCriterion("CONTENT >", value, "CONTENT");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andContentGreaterThanOrEqualTo(String value) {
            addCriterion("CONTENT >=", value, "CONTENT");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andContentLessThan(String value) {
            addCriterion("CONTENT <", value, "CONTENT");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andContentLessThanOrEqualTo(String value) {
            addCriterion("CONTENT <=", value, "CONTENT");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andContentLike(String value) {
            addCriterion("CONTENT like ", value, "CONTENT", 1);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andContentNotLike(String value) {
            addCriterion("CONTENT  not like ", value, "CONTENT", 1);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andContentLeftLike(String value) {
            addCriterion("CONTENT like ", value, "CONTENT", 0);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andContentNotLeftLike(String value) {
            addCriterion("CONTENT  not like ", value, "CONTENT", 0);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andContentRightLike(String value) {
            addCriterion("CONTENT like ", value, "CONTENT", 2);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andContentNotRightLike(String value) {
            addCriterion("CONTENT  not like ", value, "CONTENT", 2);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andContentIn(List<String> values) {
            addCriterion("CONTENT  in ", values, "CONTENT");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andContentNotIn(List<String> values) {
            addCriterion("CONTENT not in ", values, "CONTENT");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andContentBetween(String value1, String value2) {
            addCriterion("CONTENT between ", value1, value2, "CONTENT");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andContentNotBetween(String value1, String value2) {
            addCriterion("CONTENT not between ", value1, value2, "CONTENT");
            return (FamilyVisitedLogCriteria) this;
        }
        public FamilyVisitedLogCriteria andPhotoListIsNull() {
            addCriterion("PHOTO_LIST is null");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andPhotoListIsNotNull() {
            addCriterion("PHOTO_LIST is not null");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andPhotoListEqualTo(String value) {
            addCriterion("PHOTO_LIST =", value, "PHOTO_LIST");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andPhotoListNotEqualTo(String value) {
            addCriterion("PHOTO_LIST <>", value, "PHOTO_LIST");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andPhotoListGreaterThan(String value) {
            addCriterion("PHOTO_LIST >", value, "PHOTO_LIST");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andPhotoListGreaterThanOrEqualTo(String value) {
            addCriterion("PHOTO_LIST >=", value, "PHOTO_LIST");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andPhotoListLessThan(String value) {
            addCriterion("PHOTO_LIST <", value, "PHOTO_LIST");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andPhotoListLessThanOrEqualTo(String value) {
            addCriterion("PHOTO_LIST <=", value, "PHOTO_LIST");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andPhotoListLike(String value) {
            addCriterion("PHOTO_LIST like ", value, "PHOTO_LIST", 1);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andPhotoListNotLike(String value) {
            addCriterion("PHOTO_LIST  not like ", value, "PHOTO_LIST", 1);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andPhotoListLeftLike(String value) {
            addCriterion("PHOTO_LIST like ", value, "PHOTO_LIST", 0);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andPhotoListNotLeftLike(String value) {
            addCriterion("PHOTO_LIST  not like ", value, "PHOTO_LIST", 0);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andPhotoListRightLike(String value) {
            addCriterion("PHOTO_LIST like ", value, "PHOTO_LIST", 2);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andPhotoListNotRightLike(String value) {
            addCriterion("PHOTO_LIST  not like ", value, "PHOTO_LIST", 2);
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andPhotoListIn(List<String> values) {
            addCriterion("PHOTO_LIST  in ", values, "PHOTO_LIST");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andPhotoListNotIn(List<String> values) {
            addCriterion("PHOTO_LIST not in ", values, "PHOTO_LIST");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andPhotoListBetween(String value1, String value2) {
            addCriterion("PHOTO_LIST between ", value1, value2, "PHOTO_LIST");
            return (FamilyVisitedLogCriteria) this;
        }

        public FamilyVisitedLogCriteria andPhotoListNotBetween(String value1, String value2) {
            addCriterion("PHOTO_LIST not between ", value1, value2, "PHOTO_LIST");
            return (FamilyVisitedLogCriteria) this;
        }

    }

    public static class FamilyVisitedLogCriteria extends GeneratedCriteria {

        protected FamilyVisitedLogCriteria() {
            super();
        }
    }

    public static class FamilyVisitedLogCriterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected FamilyVisitedLogCriterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }
        protected FamilyVisitedLogCriterion(String condition, Object value, int likeType) {
            this.condition = condition;
            if (likeType == 0) {
                this.value = "%" + value;
            }
            else if (likeType == 1) {
                this.value = "%" + value + "%";
            }
            else {
                this.value = value + "%";
            }
            this.typeHandler = null;
            this.singleValue = true;

        }

        protected FamilyVisitedLogCriterion(String condition, Object value,
                String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            }
            else {
                this.singleValue = true;
            }
        }

        protected FamilyVisitedLogCriterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected FamilyVisitedLogCriterion(String condition, Object value,
                Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected FamilyVisitedLogCriterion(String condition, Object value,
                Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}